Karl O. Pinc kop@karlpinc.com [Wed, 12 Aug 2026 17:16:17 +0000 (17:16 +0000)]
Always use the WATCHES.CommID when constructing SIGHTINGS from EVENTS
Karl O. Pinc kop@karlpinc.com [Tue, 11 Aug 2026 22:05:20 +0000 (22:05 +0000)]
Change column name: ARRIVALS.Cycle -> ARRIVALS.Swelling
Stevan Earl [Tue, 11 Aug 2026 23:25:19 +0000 (16:25 -0700)]
docs: distinguish unknown and no-focal observations
Stevan Earl [Tue, 11 Aug 2026 23:18:43 +0000 (16:18 -0700)]
conversion: use NONE for A-record groom scans
Stevan Earl [Tue, 11 Aug 2026 22:54:22 +0000 (15:54 -0700)]
schema: prohibit NONE on location watches
Stevan Earl [Tue, 11 Aug 2026 22:34:31 +0000 (15:34 -0700)]
schema: reserve NONE for WATCHES AnimIDs
Stevan Earl [Tue, 11 Aug 2026 22:32:42 +0000 (15:32 -0700)]
feat: define the NONE no-focal AnimID
Stevan Earl [Tue, 11 Aug 2026 22:31:27 +0000 (15:31 -0700)]
docs: correct BIOGRAPHY_DATA AnimID grammar
Stevan Earl [Wed, 5 Aug 2026 23:37:14 +0000 (16:37 -0700)]
fix: corrected trigger wording from follow to event since this applies to AGSCAN and other events not only follows
(cherry picked from commit
587e15969264727c4d7a810bff56e364539a6423)
Stevan Earl [Wed, 5 Aug 2026 23:23:33 +0000 (16:23 -0700)]
fix: corrected trigger diagnostic in roles.m4 including the incorrect displayed date
(cherry picked from commit
fcfaccadf080504ce6013a8e8f1af879128be754)
Stevan Earl [Mon, 10 Aug 2026 01:21:09 +0000 (18:21 -0700)]
build: add A-record groom-scan load target
Split from grm_scan commit
fcdd838.
Stevan Earl [Mon, 10 Aug 2026 01:20:59 +0000 (18:20 -0700)]
feat: add A-record groom-scan conversion loader
Split from grm_scan commit
fcdd838.
Stevan Earl [Mon, 10 Aug 2026 01:20:59 +0000 (18:20 -0700)]
fix: allow groom-scan events on A-record watches
Split from grm_scan commit
fcdd838.
Stevan Earl [Mon, 10 Aug 2026 01:20:49 +0000 (18:20 -0700)]
build: add B-record groom-scan load target
Split from grm_scan commit
36b5c5d.
Stevan Earl [Mon, 10 Aug 2026 01:13:18 +0000 (18:13 -0700)]
feat: add B-record groom-scan conversion loader
Split from grm_scan commit
36b5c5d. The GS_comments NULL-to-empty conversion is performed in clean.sql.
Stevan Earl [Mon, 10 Aug 2026 01:09:05 +0000 (18:09 -0700)]
feat: add groom-scan role codes
Split from grm_scan commit
36b5c5d.
Stevan Earl [Mon, 10 Aug 2026 01:08:00 +0000 (18:08 -0700)]
fix: normalize missing groom-scan comments in clean
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 21:26:28 +0000 (21:26 +0000)]
Implement build_sightings()
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 19:45:13 +0000 (19:45 +0000)]
Alphabetize
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 18:31:27 +0000 (18:31 +0000)]
Correct cut-and-paste error in comment
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 17:14:32 +0000 (17:14 +0000)]
Drop the COMMUNITY_MEMBERSHIP_UPDATE_LOG table in favor of COMM_MEMB_LOG
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 17:09:50 +0000 (17:09 +0000)]
Move comm_memb_log from sokwedb schema to housekeeping
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 16:55:50 +0000 (16:55 +0000)]
Add example query to LOCATIONS_UTM doc
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 16:46:46 +0000 (16:46 +0000)]
Add example query to LOCATIONS_PAPER doc
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 16:24:05 +0000 (16:24 +0000)]
Add example query to SPECIES_PRESENT doc
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 16:22:50 +0000 (16:22 +0000)]
Add example query to MATINGS doc
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 16:12:28 +0000 (16:12 +0000)]
Add example query to GROOMINGS doc
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 16:09:16 +0000 (16:09 +0000)]
Add example query to HUMANS doc
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 15:51:41 +0000 (15:51 +0000)]
Add example query to GROOM_SCANS_B doc
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 15:09:20 +0000 (15:09 +0000)]
Add example query of A-Record groom scans to EVENTS doc
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 14:59:43 +0000 (14:59 +0000)]
Add example query to FOOD_EVENTS doc
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 14:46:46 +0000 (14:46 +0000)]
Add example query to COLOBUS doc
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 14:36:00 +0000 (14:36 +0000)]
Add example query to ARRIVALS_A doc
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 14:09:43 +0000 (14:09 +0000)]
Add example query to ARRIVALS doc
Karl O. Pinc kop@karlpinc.com [Wed, 5 Aug 2026 13:55:27 +0000 (13:55 +0000)]
Add example query to AGGRESSIONS doc
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 22:02:05 +0000 (22:02 +0000)]
Fix to allow colobus event behaviors
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 20:19:54 +0000 (20:19 +0000)]
Reference build_sightings() in SIGHTING_CONTROL docs
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 20:04:39 +0000 (20:04 +0000)]
Link SIGHTINGS.Step docs to SIGHTINGS and build_sightings()
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 20:14:24 +0000 (20:14 +0000)]
Document build_sightings()
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 20:03:25 +0000 (20:03 +0000)]
Move docs involving column interactions to bottom of summary section
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 18:21:46 +0000 (18:21 +0000)]
Clarify the utility in running build_swelling_states() on non-females
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 18:13:35 +0000 (18:13 +0000)]
Add example query showing sighting sources
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 17:53:11 +0000 (17:53 +0000)]
Change column name SIGHTINGS.Source -> SIGHTINGS.Step
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 17:51:35 +0000 (17:51 +0000)]
With SIGHTING_SOURCES, SIGHTING_RECORDS.Priority does not affect sightings
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 17:49:23 +0000 (17:49 +0000)]
Add SIGHTING_CONTROLS table, document, etc.
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 17:42:29 +0000 (17:42 +0000)]
Clarify that SIGHTING_RECORDS.Priority is used only for swelling
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 17:31:35 +0000 (17:31 +0000)]
Document where special SIGHTING_RECORDS codes cannot be used
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 17:30:06 +0000 (17:30 +0000)]
Prevent use of special swelling source values in NON_BREC_SIGHTING_SOURCES
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 17:20:34 +0000 (17:20 +0000)]
Fix so some special SIGHTING_RECORDS rows need not exist
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 17:16:26 +0000 (17:16 +0000)]
Load (some) SIGHTING_RECORDS during conversion
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 17:15:27 +0000 (17:15 +0000)]
Replace SIGHTING_RECORDS SOKWEDB special value with per-table values
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 17:01:17 +0000 (17:01 +0000)]
Enforce non-negative SIGHTING_RECORDS.Priority
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 00:02:53 +0000 (00:02 +0000)]
Change so adolesent swelling is properly included in SWELLING_STATES
Karl O. Pinc kop@karlpinc.com [Tue, 4 Aug 2026 00:00:38 +0000 (00:00 +0000)]
Require the SIGHTING_RECORDS "MANUAL" code have a Priority of 0
Karl O. Pinc kop@karlpinc.com [Mon, 3 Aug 2026 23:53:54 +0000 (23:53 +0000)]
Add an anchor for the "codes" schema
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 21:48:38 +0000 (21:48 +0000)]
Alphabetize
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 21:30:11 +0000 (21:30 +0000)]
Remove ATTENDANCE table from diagram
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 21:17:18 +0000 (21:17 +0000)]
Fix privleges of SIGHTINGS
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 21:13:50 +0000 (21:13 +0000)]
Correct the privileges of SWELLING_STATES
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 21:09:17 +0000 (21:09 +0000)]
Update copyright
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 21:03:57 +0000 (21:03 +0000)]
Fix grammer in error message
Stevan Earl [Tue, 4 Aug 2026 19:55:18 +0000 (12:55 -0700)]
fix: normalize blank biography maternal IDs (Problem #104)
Stevan Earl [Tue, 4 Aug 2026 19:54:56 +0000 (12:54 -0700)]
fix: normalize blank biography birth groups (Problem #103)
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 18:43:46 +0000 (18:43 +0000)]
SWELLING_SOURCES min swelling cannot exceed the max swelling
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 17:49:24 +0000 (17:49 +0000)]
SWELLING_SOURCES can only use CYCLE_STATES where SSRank is not NULL
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 17:28:36 +0000 (17:28 +0000)]
Fix formatting of error message
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 16:54:41 +0000 (16:54 +0000)]
Change build_swelling_states() so that it uses CYCLE_STATES.SSRank
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 16:36:13 +0000 (16:36 +0000)]
Add the CYCLE_STATES.SSRank column
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 16:25:20 +0000 (16:25 +0000)]
Add nullunique substitution; for unique except for NULL values
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 15:37:55 +0000 (15:37 +0000)]
Fix build_swelling_states() to remove data on former females
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 01:24:31 +0000 (01:24 +0000)]
Add a "Return Value" section
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 01:20:20 +0000 (01:20 +0000)]
Create and document build_swelling_states() function
Karl O. Pinc kop@karlpinc.com [Fri, 31 Jul 2026 01:04:11 +0000 (01:04 +0000)]
Use better macro name: sdb_manual_swelling -> sdb_manual_source
Karl O. Pinc kop@karlpinc.com [Thu, 30 Jul 2026 21:24:06 +0000 (21:24 +0000)]
Remove comments leftover from cut-and-paste
Karl O. Pinc kop@karlpinc.com [Thu, 30 Jul 2026 17:07:09 +0000 (17:07 +0000)]
Add the columns YKAge and YKID to REPRO_STATES
Karl O. Pinc kop@karlpinc.com [Tue, 28 Jul 2026 22:33:09 +0000 (22:33 +0000)]
Improve sentence
Karl O. Pinc kop@karlpinc.com [Tue, 28 Jul 2026 22:12:12 +0000 (22:12 +0000)]
Make reference to useful views in each table's docs
Karl O. Pinc kop@karlpinc.com [Tue, 28 Jul 2026 20:56:10 +0000 (20:56 +0000)]
Explain how to manually modifiy the content of SIGHTINGS
Karl O. Pinc kop@karlpinc.com [Tue, 28 Jul 2026 20:20:06 +0000 (20:20 +0000)]
Spelling
Karl O. Pinc kop@karlpinc.com [Tue, 28 Jul 2026 19:53:57 +0000 (19:53 +0000)]
Fix over-long section underlines
Karl O. Pinc kop@karlpinc.com [Tue, 28 Jul 2026 19:39:51 +0000 (19:39 +0000)]
Add (sub)tables of contents where useful
Karl O. Pinc kop@karlpinc.com [Sun, 26 Jul 2026 05:11:47 +0000 (05:11 +0000)]
Restructure docs for the novice and add more tutorial-like information
Restructure docs so the reader is guided through the initial chapters
Add more tutorial-like documenation for the new reader.
Karl O. Pinc kop@karlpinc.com [Sun, 26 Jul 2026 04:07:36 +0000 (04:07 +0000)]
Spelling
Karl O. Pinc kop@karlpinc.com [Sat, 25 Jul 2026 20:50:26 +0000 (20:50 +0000)]
Re-work the OBS, DYADS, and PANTGRUNT_VIEWS docs
Add examples, interlink and inter-relate the explanatory text, and be
more tutorial.
Karl O. Pinc kop@karlpinc.com [Thu, 23 Jul 2026 23:48:23 +0000 (23:48 +0000)]
Create the BREC_NOTES_VIEW
Karl O. Pinc kop@karlpinc.com [Thu, 23 Jul 2026 23:32:25 +0000 (23:32 +0000)]
Spelling
Karl O. Pinc kop@karlpinc.com [Thu, 23 Jul 2026 21:19:45 +0000 (21:19 +0000)]
Fix BRECORD_NOTES columns to allow empty strings
Credit to Steve Daniels of Ode for finding the problem.
Karl O. Pinc kop@karlpinc.com [Wed, 22 Jul 2026 23:13:51 +0000 (23:13 +0000)]
Allow PANTGRUNTS_VIEW to be updated and deleted
Karl O. Pinc kop@karlpinc.com [Wed, 22 Jul 2026 22:37:43 +0000 (22:37 +0000)]
Allow DYADS to UPDATE and DELETE
Karl O. Pinc kop@karlpinc.com [Wed, 22 Jul 2026 22:33:49 +0000 (22:33 +0000)]
Spelling
Karl O. Pinc kop@karlpinc.com [Wed, 22 Jul 2026 21:06:14 +0000 (21:06 +0000)]
Adjust PANTGRUNTS_VIEW for the new WATCHES.Type values
The new WATCHES design (A-Record type, B-Record type, etc.) means that
there is no longer a hierarchy of WATCHES.Type values that pantgrunt
data must conform to. We no longer require a pantgrunt to be attached
to a B record watch, if one exists, and if not then a pantgrunt watch.
This means the PANTGRUNTS_VIEW code can delegate all the work to the
DYADS view, and we can get rid of a lot of code.
(If the PANTGRUNTS_VIEW is ever to raise an error, the deleted
_show_row() macro may prove useful to retrieve from the deleted code.)
Karl O. Pinc kop@karlpinc.com [Wed, 22 Jul 2026 18:27:37 +0000 (18:27 +0000)]
Remove the ATTENDANCE table from the db
Karl O. Pinc kop@karlpinc.com [Wed, 22 Jul 2026 18:11:21 +0000 (18:11 +0000)]
Adjust DYADS; account for unknown participant directionality
Remove the TwoSided and add the Style column.
Stevan Earl [Sun, 26 Jul 2026 21:29:52 +0000 (14:29 -0700)]
fix: codify solution to Problem #60
Stevan Earl [Thu, 23 Jul 2026 23:12:29 +0000 (16:12 -0700)]
fix: normalize aggression text for problems #77, #78, and #80
Stevan Earl [Wed, 22 Jul 2026 23:44:13 +0000 (16:44 -0700)]
fix: implement solution to Problem #54 in the clean schema
Karl O. Pinc kop@karlpinc.com [Wed, 22 Jul 2026 18:15:22 +0000 (18:15 +0000)]
Use the correct macro symbol so BRECORD_NOTES will insert
Karl O. Pinc kop@karlpinc.com [Wed, 22 Jul 2026 17:06:10 +0000 (17:06 +0000)]
Include constants, so the correct indexes are dropped
This fixes a problem that causes a rebuild of the db to fail.
Stevan Earl [Tue, 21 Jul 2026 23:41:07 +0000 (16:41 -0700)]
fix: consolidate clean fixes for problems #65-#68, #72, and #74
Karl O. Pinc kop@karlpinc.com [Tue, 21 Jul 2026 22:17:44 +0000 (22:17 +0000)]
Fix so update triggers fire only on update